P4 supports a set of send/receive procedures. These procedures are ``generic'' in the sense that they do not know whether a message must travel across a network or through shared memory, or via some other mechanism. They depend on a lower-level set of procedures that handle local or network (remote) communications. By default, the messages are assumed to be typed. If the user wishes to use untyped messages, he can hide the typing by coding some very simple C macros that always use a single message type.
Explicit Sending and Receiving of Messages,Global Operations, ,Functions for Message Passing